Process control systems, like those used in chemical, petroleum or other processes, typically include one or more centralized process controllers communicatively coupled to at least one host or operator workstation and to one or more field devices via analog, digital, or combined analog/digital buses. The field devices, which may be, for example, valves, valve positioners, switches, and transmitters (e.g., temperature, pressure and flow rate sensors), perform functions within the process such as opening or closing valves and measuring process parameters. The process controller receives signals indicative of process measurements made by the field devices and/or other information pertaining to the field devices, uses this information to implement a control routine and then generates control signals that are sent over the buses or other communication lines to the field devices to control the operation of the process. Information from the field devices and the controllers may be made available to one or more applications executed by the operator workstation to enable an operator to perform desired functions with respect to the process, such as viewing the current state of the process, modifying the operation of the process, etc.
During design phases and system operation, a system engineer must often access process control data to view, monitor, add, update, modify, etc. the process control data. For example, process control systems are typically configured using configuration applications that enable a system engineer, operator, user, etc. to define how each field device within a process control system should function for a particular process (e.g., a particular chemical production process). When a field device is added to a particular process or each time a change is made to the process, an engineer may generate a new control program or new configuration data or may update or modify an existing control program. Each process may use a large number of field devices, controllers, and/or other control devices and, thus, a control program may include a large amount of process control data. Some known process control systems provide editors or process control data viewers that enable users to monitor a process during operation and/or to view, create, and/or update control programs. Known process control data editors and viewers typically constrain a user to features that are provided by a process control software developer. For example, a process control software developer may survey its customers to determine desirable types of user interface controls and data access functionality. The user interface and data access features available to customers at the time process control software is released is then subject to the general demand by other customers to incorporate those features.
Customizing process control software on a customer-by-customer basis is often a relatively expensive and complex project. Specifically, if a customer requires specific or custom user interface or data access features, the customer needs to understand and modify the original process control software source code. In this case, a process control software vendor must provide many resources (e.g., software developers, system engineers, source code, etc.) to each customer that wishes to customize their software. In addition, the software vendor may require customers to purchase source code licenses or development licenses prior to delivering source code to the customers. Resources and/or licenses are often relatively expensive for the software vendor and/or customers. Also, by releasing certain source code, a vendor may be at risk if that source code includes trade secret, confidential, or otherwise competitively advantageous coding techniques.